home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / basic / qbwinfnt.zip / EX_FSTCH.BAS < prev    next >
BASIC Source File  |  1994-03-01  |  2KB  |  61 lines

  1.       REM:  EX_FSTCH.BAS, Unregistered Version 1.0
  2.       REM:  Example of using FastChar to display characters.
  3.  
  4.       DECLARE SUB BLOADFont (FlName$, FontArray%(), RetCode%)
  5.       DECLARE SUB DispChar (Char%, FClr%, BClr%, X%, Y%, FontArray%())
  6.       DECLARE SUB FastChar (Char%, FClr%, X%, Y%, FontArray%())
  7.  
  8.       '...setup a VGA screen mode...
  9.       SCREEN 12
  10.      
  11.       '...dimen array for font data (use REDIM so its DYNAMIC)...
  12.       REDIM FontArray%(1)
  13.    
  14.       PRINT : PRINT "BLOAD'ing a font from DTCH_BLD.BIN..."
  15.    
  16.       '...load the font in one of the example BIN files...
  17.       CALL BLOADFont("DTCH_BLD.BIN", FontArray%(), RetCode%)
  18.      
  19.       '...check return code, catches non-existent file...
  20.       IF (RetCode% <> 0) THEN STOP
  21.           
  22.       '...draw A to Z, 25 times using DispChar (fgnd & bgnd)...
  23.       Start1 = TIMER
  24.       FOR Dupl% = 1 TO 25
  25.         X% = 50 + Dupl%: Y% = 60 + Dupl%
  26.         FOR Char% = 65 TO 90
  27.           CALL DispChar(Char%, 7, 8, X%, Y%, FontArray%())
  28.         NEXT Char%
  29.       NEXT Dupl%
  30.       End1 = TIMER
  31.      
  32.       '...draw A to Z, 25 times using DispChar (fgnd only)...
  33.       Start2 = TIMER
  34.       FOR Dupl% = 1 TO 25
  35.         X% = 50 + Dupl%: Y% = 100 + Dupl%
  36.         FOR Char% = 65 TO 90
  37.           CALL DispChar(Char%, 7, -1, X%, Y%, FontArray%())
  38.         NEXT Char%
  39.       NEXT Dupl%
  40.       End2 = TIMER
  41.     
  42.       '...display letters A to Z, 25 times using FastChar...
  43.       Start3 = TIMER
  44.       FOR Dupl% = 1 TO 25
  45.         X% = 50 + Dupl%: Y% = 140 + Dupl%
  46.         FOR Char% = 65 TO 90
  47.           CALL FastChar(Char%, 7, X%, Y%, FontArray%())
  48.         NEXT Char%
  49.       NEXT Dupl%
  50.       End3 = TIMER
  51.  
  52.       '...skip down a ways and print results...
  53.       LOCATE 15, 1: PRINT "Approximate times for 25 displays: "
  54.       PRINT USING "   DispChar (fgnd, bgnd): ##.##"; End1 - Start1
  55.       PRINT USING "    DispChar (fgnd only): ##.##"; End2 - Start2
  56.       PRINT USING "                FastChar: ##.##"; End3 - Start3
  57.      
  58.       END
  59.     
  60.  
  61.